package com.huibur.devicecheck.service;

import com.huibur.devicecheck.model.param.TaskParam;
import com.huibur.devicecheck.model.query.TaskQuery;
import com.huibur.devicecheck.model.vo.TaskVO;
import com.huibur.devicecheck.request.ObjRes;
import com.huibur.devicecheck.request.PageRes;

/*******************************************************
* Title: ITaskService.java
* Description:
* @author baiqingshuo
* @date 2021/9/24
* @version 1.0
*******************************************************/

public interface ITaskService {

    /**
     * 新增任务
     * @param taskParam
     * @return
     */
    ObjRes<Void> insert(TaskParam taskParam);

    /**
     * 删除任务
     * @param id
     * @return
     */
    ObjRes<Void> deleteById(Long id);

    /**
     *编辑任务
     * @param id
     * @param taskParam
     * @return
     */
    ObjRes<Void> updateTask(Long id, TaskParam taskParam);

    /**
     * 任务列表(查询并分页)
     * @param taskQuery
     * @return
     */
    PageRes<TaskVO> selectTaskList(TaskQuery taskQuery);

    /**
     * 获取任务详情
     * @param id
     * @return
     */
    TaskVO selectTaskById(Long id);

    /**
     * 实际开始时间
     * @return
     */
    ObjRes<Void> startTime(Long id);

    /**
     * 实际结束时间
     * @param id
     * @return
     */
    ObjRes<Void> endTime(Long id);
}
